System and method for synchronizing map images

ABSTRACT

An originally non-georeferenced raster map, which may have resulted from scanning and storing a non-georeferenced paper map, is georeferenced with reference to a georeferenced map, such as a vector map. Points denoting common features, such as road intersections, on each map are captured as point-pairs. When two point-pairs have been captured, a computer system calculates two functions, one converting the x,y coordinates of the raster map to the lat,lon coordinates of the vector map, the other converting lat,lon to x,y. Thereafter, the maps may be viewed simultaneously—top-and-bottom, side-by-side—or quasi-simultaneously, for example, toggling rapidly back and forth. The georeferencing functions are used by the system to effect manipulation of one map as the other map is manipulated. Thus, any manipulation of the vector map—scrolling, zooming, etc,—by a user is mimicked by the raster map.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application is a continuation-in-part (“CIP”) application based on commonly assigned U.S. patent application Ser. No. 09/537,162, filed Mar. 29, 2000 and shares specification and figures with commonly assigned, copending U.S. Patent Applications entitled “System and Method for Performing Flood Zone Certifications” (Ser. No. 09/537,161 filed Mar. 29, 2000); a CIP application based on the '161 application, Ser. No. ______, filed ______; “System and Method for Georeferencing Digital Raster Maps,” Ser. No. 09/537,849, filed Mar. 29, 2000,; and a CIP application based on the “849 application, Ser. No. ______, filed ______, all of which are incorporated by reference hereinto.

FIELD OF THE INVENTION

[0002] The present invention generally relates to graphic image manipulation and, in particular, to manipulation of map images. Moreover, the present invention relates to coordinating and manipulating multiple map images displayed on a data processing system.

BACKGROUND OF THE INVENTION FEMA Flood Maps

[0003] The Federal Emergency Management Agency (FEMA) publishes a large set of “flood maps.” These paper maps are the official, Federally sanctioned source for determining flood risk. The flood maps delineate regions that are assigned a flood zone designation from among a limited set of possible designations.

[0004] For example, a region designated “Zone A” on a flood map is a high risk area, which FEMA believes has at least a 1 in 30 chance of flooding during any given year. A region designated “Zone V” combines the properties of a “Zone A” with the additional risk of wave action or flowing water. In the foregoing context, performing a “flood zone determination” (also known as a “flood hazard determination” or a “flood certification”) relative to a location entails a two-step process: (1) determining, based on FEMA flood maps and other materials, the FEMA-designated flood zone for the location in question, and, then, (2) completing required paperwork to report this determination (along with certain other required information) to interested parties, such as home buyers, their lenders, and real estate brokers.

[0005] FEMA flood maps come in a variety of styles, but broadly speaking they can be divided into two types of maps, namely, index panels (“IP”), or index panel maps, see FIG. 5 (a generalized or symbolic representation of a FEMA index panel), and regular panels (“RP”), or regular panel maps, see FIG. 2 which is presented here as a FEMA regular panel, and FIGS. 1, 3 and 4 which are generalized or symbolic representations of regular panel maps and are present herein for purposes of explaining the present invention as though they are FEMA flood maps, although, unlike FIG. 2, no flood zone designations are present thereon. Thus, FIGS. 1, 3 and 4 may represent population density maps, air quality maps, FEMA flood maps, or any other map depicting a geographic area, certain features or landmarks thereof, and some trait or characteristic of the depicted are, such as average income, water quality, weather patterns or FEMA-defined flood zones.

[0006] Referring to the generalized FEMA regular panel map symbolized in FIG. 1, the regular panel map 10 shows a relatively small geographic area at a fairly high level of detail. Each regular panel 10 depicts various “features” of the relevant area. These features may include (without limitation) streets 12,13 railroad tracks 14, streambeds 16, community boundaries, lakes, intersections 18,20 of the foregoing, and detailed delineations of the boundaries of various extant flood zones (not shown in FIG. 1, but see FIG. 2) and their classifications.

[0007]FIG. 2 depicts a regular panel map 10 in which flood zones 22 are depicted. As is typical, the flood zones 22 are denoted or “flagged” as variously shaded regions contained within irregular curvilinear boundaries (the “flood zone boundary”). Labels 30 on regular panels 10 designate the types of flood zones that have been shaded. With the exception of regular panels 10 described as “not printed” (“PNP”) and panels presenting flood zone-designated communities, described in greater detail below, all flood zone determinations are made by reference to appropriate regular panel maps 10.

[0008] Referring to FIGS. 1 and 2, each regular panel map 10 is bounded by “neatlines,” that is, a rectangular frame or border surrounding the geographic area of interest. The geographic area of interest may not completely “fill” the neatlines 32, as indicated at 34 in FIG. 1. For example, the actual geographic area contained within the neatlines 32 of a regular panel 10 might consist of (a) a portion 33 of a community and the designated flood classification of the portion and (b) unincorporated or other portions 34 which surround, are surrounded by, or abut the community, and which have no flood classification depicted on the panel 10.

[0009] Referring now to the symbolized FEMA regular panels of FIGS. 1 and 3, if FEMA has designated a regular panel as being applicable to determining the flood zone classification of only an incorporated community, designated at 33 in FIG. 3, then the regular panel 10 cannot be used to determine the flood classification of any depicted “unfilled,” unclassified or unincorporated areas, designated at 34,36,38. According to FEMA protocol, the foregoing obtains whether or not flood zones for the unincorporated area 38 are shown on the regular panel 10. Indeed, a FEMA panel map 10 often does not show flood zones for areas outside of the designated region for the panel map 10 (designated regions 33,35 a portion of the community in this example). Sometimes the area outside of the designated area is just shown as a blank area on the panel 10, as at 34,36,38. Regardless of how much or how little detail is shown, by convention, a flood determination can be made using a panel 10 only in the region designated by FEMA.

[0010] The “inset” 44 of a panel 10 means any geographic region that is both shown on the panel 10 and as to which FEMA mandates that the flood zone designations set forth on the panel 10 are applicable. A panel inset 44 may be self-connected (connected with all parts of itself) as in FIGS. 1-3, or, as shown symbolically in FIG. 4, it may be split into two or more self-connected regions 46,48 by intervening non-designated areas 50 on the panel 10 and may include other non-designated areas, such as those shown at 52 and 54. Continuing to refer to FIG. 4, the “inset” 44 of a panel map 10 may comprise a collection of disjoint, self-connected regions 46,48 which collectively contain all of the designated area of the panel 10, and themselves constitute a subset of the geographic region contained within the neatlines 32

[0011] Thus, from the foregoing, an actual map panel 10 consists, in general, of three parts: (1) its inset, (2) other (non-designated) geographic regions within the neatlines 32, but not included within the inset(s), and (3) areas of the panel which are outside of the neatlines 32, and generally show various types of textual information such as a map legend, the map panel number, panel effective date, and similar data. It is true that, in the ideal case, the inset 44 of FIG. 4 should include only the designated regions 46,48 of the panel 10, but as a practical matter it is sometimes convenient to include some non-designated areas 50,52,54 (or 34,36,38 ) within the inset, so as to simplify the process of gathering inset border data.

[0012] Referring to FIG. 5, the symbolization 60 of an index panel map covers a considerably broader area than a regular panel 10, but depicts a lower degree of detail, and usually does not indicate the flood zones thereon. Typically, an index panel 60 shows a broad geographic view of the locations of the various regular panels 10 that make up an entire community, or large portion thereof. It should be noted that, while FEMA “defines”communities, these FEMA-defined communities often do not necessarily correspond to one's intuitive sense of what a community is. Further, although only on panel 10 is depicted as containing geographic-related features, it is to be understood that each panel 10 of the index 60 contains geographic information.

[0013] The index panel 60, generally depicted in FIG. 5, provides its broader, less detailed overview by displaying the neatline boundaries 32 of each of its regular panels 10 against a background of major geographic features (e.g. highways, lakes, etc.). Each of the regular panels' 10 neatline boundaries 32 is labeled with the corresponding number of its regular map panel 10, as symbolically represented by “XX,” “YY” and “ZZ” in FIG. 4. Index maps 60, in effect, show how to “put together” the panel map 10 “jigsaw”, that is, how to associate panel maps 10 with each other to form a grid thereof, grid lines 62 thereof being comprised of the aligned and/or overlapping 20 neatlines 32 of adjacent panels 10.

[0014] Until the advent of the invention of the '849 application and the CIP based thereon, the primary purpose of the index maps 60 has been their use as an aid in manually determining which of the regular maps 10 should be consulted in order to make a flood zone determination. For example, if a property is known to be located in 25 Community A, then a map analyst might first locate the property on the Community A index map 60. The analyst could immediately determine—by examining the neatline borders 32,62 and the labels “XX,” “YY,” “ZZ” displayed on the index map 60—which regular panel map 10 to consult. Since there are hundreds of panel maps 10 in the index map 60 of various communities, identification of a particular panel map 10 by examining an index map 60 can be effected more quickly than serially examining large numbers of panel maps 10. The present invention provides other, much more efficient ways of determining the correct regular panel map 10 applicable to a particular location.

[0015] Index maps 60 also contain neatline borders 32 for panel maps 10 that are not printed as such, and which are designated “panel not printed” or “PNP.” As this name suggests, no actual panel map 10 is ever printed for a PNP. Instead, the relevant index map 60 displays the flood zone classification for the region contained within the PNP neatline borders 32. Accordingly, In the case of a PNP, the flood zone classification is determined from the index map 60, rather than from a regular panel 10.

[0016] In addition to the foregoing techniques, flood zone determinations can also be made on the basis of FEMA's denoting certain communities as “flood zone designated communities.” In this event, FEMA mandates that a designated community has the same flood zone classification throughout. As a consequence FEMA does not publish any flood panels—either regular 10 or index 60—for the community. Property located anywhere in that community assumes the flood zone classification of the community.

Digital Raster Maps

[0017] A digital raster map image is a digital representation of a map. Conceptually, the image to be digitized is divided into a rectangular grid of small rectangular regions (known as pixels), which can be designated by X, Y coordinates defining the column and row of the pixel within the grid. The “Color value” of each pixel is then stored. A digital raster map may be created by optically, digitally scanning a conventional paper map and thereafter using a computer system to define and/or display it in terms of its pixel locations and color values. Commonly used formats for storing scanned images currently include TIFF, JPEG, and PNG. Any FEMA regular panel 10 or index panel 60 may be represented as a digital raster map.

Digital Vector Maps

[0018] A vector map may be viewed as a “virtual” map that comprises, in effect, a collection of stored data. The stored data define the locations of plural nodes and plural straight-line segments interconnecting the nodes. The stored data defining a vector map represents geographic information in the form of collections of points—the nodes—and line segments interconnecting the nodes to form polygons and/or paths, i.e., closed and non-closed figures comprised of line-interconnected nodes. These points, lines, polygons and paths may have additional information associated with them. For example, the stored data may indicate that a particular point or node is the location of the capitol building, or that a selected polygon describes the border of Lake Placid. The polygons are surrogates for, or representations of, the actual curvilinear configuration of various geographic features: streets, streams, lakes, cities, counties, etc. Typically, the features—nodes alone or two or more interconnected nodes—are presented in terms of latitude/longitude (or lat/lon) values. If this or another earth-referenced system is used to locate the nodes of the map, the map is said to be georeferenced. A visually sensible map may be “drawn” from the stored data.

[0019] In view of the fact that georeferencing of digital raster map images plays a key role in the present invention, the precise meaning of this term, for the purposes hereof and as used herein, is set forth below.

Georeferencing

[0020] A raster map image is said to be “georeferenced” if there exist mathematical functions, f and g, such that one function can be used to convert the X,Y coordinates of the pixels describing the map image to corresponding latitude/longitude coordinates and the other function can be used to convert the latitude/longitude coordinates of the pixels of the image to their corresponding X,Y coordinates. In other words, f and g effect the following:

[0021] 1. If (x, y) represents a pixel location on a digital raster map image, then f(x, y)=(Lon, Lat) represents the longitude and latitude of the to corresponding physical location; and

[0022] 2. If (Lon, Lat) represents a physical location that lies within the region covered by the map, then g(Lon, Lat)=(x, y) represents the point on the digital raster map image that corresponds to that longitude and latitude.

[0023] In the previous paragraph, (x,y) defines a point pursuant to the natural internal coordinate system of the raster map image. Most digital vector map images use longitude and latitude as their internal coordinate system. Accordingly, most digital vector maps can be considered to be trivially georeferenced per se. Most digital raster map images use the pixels of its image as a kind of natural coordinate matrix. Such a raster map image is not inherently trivially georeferenced and requires the operation of a non-trivial georeferencing function to convert back and forth between coordinate systems.

[0024] Most FEMA maps do not contain any latitude/longitude information that would be useful in georeferencing their scanned raster image. Some recently FEMA-issued panels do show latitude/longitude values at certain points thereon, but such panels are in a distinct minority when considered in the context of the 100,000+ panels that FEMA currently provides.

SUMMARY OF THE INVENTION

[0025] Pursuant to the present invention there is provided a system and method for coordinating the manipulation of multiple map images displayed on a data processing system.

[0026] The invention is effected by georeferencing a digital raster map by associating specific points on the raster map with corresponding points on a georeferenced vector map or another georeferenced raster map. According to the preferred embodiment, a raster map and a corresponding vector map are simultaneously displayed to a user. The user then locates a common geographic point or feature on each map, and marks each of them as a unique point-pair. When the user has marked at least two point-pairs, the system then computes georeferencing functions, based on the pixel-coordinates of the points marked on the raster map and the corresponding geographic coordinates of the points on the vector map. Thereafter the geographic coordinates of any point on the map may be computed. As more point-pairs are identified, the georeferencing functions are modified for increased accuracy.

[0027] After georeferencing the raster map, the maps are simultaneously displayed—side-by-side, top-to-bottom, superimposed. Any point of either map can be cross-referenced to the other map by the use of the appropriate georeferencing function. Accordingly, the maps can be manipulated, edited, annotated, panned, rotated and otherwise affected in a synchronized manner by defining the manipulations in terms of the geographic coordinate system and using the georeferencing functions to translate their manipulations to each map's coordinate system

[0028] A digital raster map is a computerized map image that resembles a conventional paper map in that it presents an image of a mapped area, but is not associated with any additional underlying data associated with the features of the map. A digital raster map is typically created by scanning a conventional paper map, and is a grid-based map composed of pixels (or points) of color, shades of grey or black and white. Each pixel in the grid can be referenced by X,Y pixel coordinates, and has only a value, which indicates the color of that pixel. The pixels of a raster map are not, without more, georeferenced, i.e., the pixels of a raster map cannot be identified by latitude/longitude or other earth reference. Raster images are commonly referred to as “bit mapped.”

[0029] A vector map comprises stored data that defines nodes, lines and polygons, rather than pixels, to describe an image. Unlike a raster map, in which the map image is simply stored as a grid of pixels, when a vector map is displayed, it is “drawn” from a set of underlying data. A vector map is created through the placements of nodes on a plane and connecting those nodes with lines to form closed polygons. Vector lines can be attributed with tables of data such as elevations, values, names or other information relative to the line. Vector data can be displayed in three dimensions if the lines are attributed with Z values, modified or changed relative to user need, or layered to allow for turning off and on the viewing of different information.

[0030] Because of their feature attribution properties, vector maps are particularly useful for displaying geographic data. Vector maps are used to display boundaries or lines that denote the position and extent of features, such as county boundaries or lines denoting stream and river systems. It is also very easy to view or manipulate the data underlying a vector map, for example to view or change the elevation of a feature. Computers are capable of more expeditiously extracting and utilizing information which is stored in vector map format, rather than raster map format.

[0031] Also, because vector maps are commonly drawn from a geographic data set describing the area shown, they are typically georeferenced. Georeferencing is the process of relating source coordinates, such as X,Y Cartesian coordinates, to geographic coordinates, typically in standard latitude/longitude. An image or a vector file is georeferenced to be used within a mapping/geographic environment. In a vector map, the data from which the map is drawn typically is expressed in terms of a geographic coordinate system.

[0032] Modern GIS systems normally make use of digital vector map information. However, a vast legacy of paper-based map information exists. It is very expensive and time consuming to convert all of the information on these paper maps over to a digital vector format. In many cases the scope and expense of such conversions render them completely impractical. However, even when a complete conversion to digital vector-based format is not possible, it is still possible to obtain some of the benefits of computerized map systems in accordance with the present invention pursuant to which paper maps are converted to digital raster maps (by scanning them) and the raster image is thereafter georeferenced. After georeferencing, there is, according to the present invention, a definite mathematical relationship between the pixel coordinates in the raster map, and the geographic coordinates of the feature represented by that pixel

[0033] The present invention contemplates a system and method for georeferencing a raster map by associating points thereon with corresponding points on a previously georeferenced vector map. The invention is described as applicable to georeferencing FEMA flood maps, but may be used to georeference any non-georeferenced paper map or other map.

[0034] First, using known scanning hardware and software, FEMA or other paper map images are scanned to create digital raster images thereof. The data representing the X,Y coordinates of the pixels comprising the raster images are stored in any convenient storage facility, such as computer memory or a CD-ROM. The stored raster images may be referred to herein as “flood map images.”

[0035] Second, geometric figures, such as polygons approximating the neatline borders of each panel map and the inset boundaries of the flood map images within each panel map neatline, are “captured.” Other geometric figures, such as “open” figures approximating the flood zones adjacent a river or stream, are also captured. Both types of geometric figures are captured, by activating a device such as a mouse, or by running a computer program designed specifically to automatically extract such geometric figures.

[0036] The capture of the above described geometric figures shown on the raster image, FIG. 2, of a scanned paper map is achieved in the following manner. The user identifies the vertices (points) of the geometric figure by “clicking” a mouse icon on a suitable sequence of points on a displayed flood map image or raster image. The sequence of points may be “smooth” or may be jagged, but, in any event, represents an approximation of the actual geometric figure. In the case of the neatlines, because such are rectangles, the representation thereof and the actual neatlines will be similar, if not the same. Because inset boundaries are often complexly curvilinear or meandering, a captured geometric figure representing an inset or the shaded flood zone 22 in FIG. 2 is likely to have boundaries that are less “smooth” than the actual boundaries. Of course, smoothness may be increased by increasing the number of points or vertices captured in drawing the geometric figure.

[0037] The order in which the vertices are captured determines the order of traversal of the vertices of the geometric figure. As a first, a second, and then subsequent vertices are captured, a line segment is drawn from the previous vertex to the next identified vertex, until the geometric figure is completed. The completed geometric figure is preferably displayed as overlying the displayed flood map image and may be edited, e.g., by adding additional vertices thereto to more accurately mimic the shape of the actual boundaries being represented.

[0038] Elementary tests for the correctness of polygonal geometric figures thus defined and captured are preferably performed. These tests include at least a test to see that no edges of a polygon cross one another. Additional tests may include a test to see that no polygon edge is shorter than some edge length parameter, and a test to ensure that the edges defined form a closed polygon. These tests are applied on an ongoing basis, as the user determines additional vertices of the polygon. Errors may be highlighted in different colors or brought to the attention of the user through pop-up panels on the computer system. The user is allowed to edit the polygons to correct errors, or to improve their quality.

[0039] Each geometric figure that is captured is also stored. Once the map to which a particular geometric figure relate is georeferenced, the geometric figures—that is, their vertices and lines—will, therefore, also be georeferenced,

[0040] Next, the flood map (digital raster) images are georeferenced. Initially, there is obtained or generated a digital vector map covering the same general geographic area covered by the flood map images and capable of displaying and depicting the same geographic features, such as streets, rivers, railroads, etc. The digital vector map may be a commercially obtainable map covering a limited area or an entire geographic entity; vector maps covering the entire United States are available.

[0041] Then, the vector map image and the flood map image are simultaneously displayed. Such may result in the maps being displayed side-by-side, over-and-under, or in superimposition. Using location information from the flood map image (e.g. county name, state, community name, large metropolitan area, etc.), the user manipulates the vector map (by zooming, panning, scrolling etc.) until it displays roughly the same region displayed in the flood map image.

[0042] The user then identifies a first point-pair 200-200 (FIGS. 2 and 6 ), that is, a pair of points—one point on the vector map, FIG. 2, the other point on a selected (if more than one) inset of the flood image map, FIG. 6—that represent the same geographic location. As can be seen from an examination of FIGS. 2 and 6, the point 200 on each map is the intersection of “Oaklane S” and “Randol Mill Road.” Although only the vector map of FIG. 6 identifies the streets by name, the similarity of shape and location permits expeditious identification of the point 200 on the map of FIG. 2.

[0043] Additional point-pairs 202-202 through 208-208 in FIGS. 2 and 6 may be identified by “clicking” a mouse icon on an identifiable point on the flood map image—say, a street intersection—and then “clicking” on the same point or street intersection shown on the vector map. Accurate placement of the two points can be assured by zooming in on the images. Markers indicating the selected locations are displayed on each map. These markers can be “dragged” to different spots in order to correct inaccurate placement. Additional point-pairs (one point from the vector map, and one from the flood map image) are then identified.

[0044] As the second 202-202 and subsequent 204-204, etc. point-pairs are each identified, an algorithm calculates and provides a georeferencing function correlating the flood map image and the vector image. Specifically, upon identification of two point-pairs, georeferencing functions are generated and becomes available for the flood map image. These georeferencing functions are refined as additional point-pairs are identified. As soon as the georeferencing functions are available they are used to “synchronize” the vector map with the digital flood map image. The synchronized maps display the same geographic region, and if one image is scrolled, panned, zoomed, or otherwise manipulated by the user, the same manipulation occurs automatically in the other map image. This synchronization greatly facilitates the placement of additional point-pairs, which improves the quality of the current georeferencing functions as more specifically described in commonly assigned U.S. patent application Ser. No. 537,161.

[0045] If multiple inset polygons have been defined on a single flood map image, and if those insets are shown on the map in locations which are not consistent with their actual geographic locations, then it is necessary to calculate a different georeferencing function for each of the inset polygons. This situation occurs, for example, when FEMA shows a geographic region on one map panel, which does not actually belong in the same geographic area as the rest of the map panel contents. FEMA sometimes does this in order to eliminate the necessity of printing another map with only a tiny region shown on it. In contemplation of this event, this step of the present invention is more generally stated as follows: When georeferencing an inset, the user must select only point-pairs contained within that inset (or, at least, whose georeferencing function would logically be the same as points of the inset); a georeferencing function is calculated for each inset, and must be stored so that this correspondence is clear.

[0046] Using the foregoing approach, all FEMA flood maps are georeferenced and stored. The georeferencing of the FEMA maps also georeferences the previously captured geometric figures representing the neatlines of the panel maps, the insets therewithin, and other significant gemmetries located in the insets Accordingly, for every inset on a flood map, there exists a function which allows conversion of its X,Y pixel coordinates into lat/lon geographic coordinates. Among other things, such georeferencing implies that the boundaries of an inset itself—that is the stored polygon mimicking the inset boundaries—can be expressed in terms of lat/lon coordinates. More generally, any identifiable points, geometric figures or regions of a flood map image, including the borders of flood zone regions therein, can be expressed in lat/lon coordinates.

[0047] If an index map is initially georeferenced, as set forth above, then a preliminary georeferencing of a specific regular panel, the neatline of which is shown on the index map, can be obtained by creating point-pairs out of the corresponding four corners of the neatline boundary which is, of course, shown on both the index map and the regular panel map. In other words, it is not really required for the georeferencing process that one of the maps be a vector map (although this is usually most convenient and practical). It is possible for both maps to be scanned raster map images, as long as the same geographic region is depicted on each map and one map is already georeferenced.

BRIEF DESCRIPTION OF THE DRAWINGS

[0048] The novel features of the invention are set forth in the appended claims. The invention itself however, as well as its mode of use, further objects and advantages thereof, will best be understood by reference to the following detailed description read in conjunction with the accompanying drawings, wherein:

[0049]FIGS. 1, 3 and 4 are general representations or symbolizations of raster map images of three FEMA panel maps;

[0050]FIG. 2 is a reproduction of a raster image of a FEMA panel map;

[0051]FIG. 5 is a general representation or symbolization of a FEMA index map made up of a number of the panel maps, such as those depicted in FIGS. 1-4;

[0052]FIG. 6 is a reproduction of a vector map which depicts the same geographic area as the raster map of FIG. 2;

[0053]FIGS. 7 and 8 are flowcharts of processes in accordance with the present invention: and

[0054]FIG. 9 is a depiction of a computer system for carrying out the method of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0055] The present invention is a system and method for georeferencing digital raster maps, FIGS. 1-5, by associating specific points on a raster map, FIG. 2, with corresponding points on a georeferenced vector map, FIG. 6, or another georeferenced raster map.

[0056] Before georeferencing is initiated, the neatlines 32 of each raster map, such as FIG. 2, are captured as polygons, and the polygons are then stored. Moreover, polygons mimicking the border of the inset(s), e.g., 33, 44, 46, 48 in FIGS. 1, 3 and 4, are also captured and stored. The vertices and interconnecting lines of the polygons, and preliminary testing methods therefor are discussed above.

[0057] Next, a raster map, such as that shown in FIG. 2, and a corresponding vector map, FIG. 6, are simultaneously displayed to a user. The user then locates a common geographic point or feature on each map, FIGS. 2 and 6. Some corresponding points are numbered 200, 202, 204, 206 and 208 on both maps of FIGS. 2 and 6. Each set of common points 200-200, 202-202, 204-204, 206-206, and 208-208 is “marked” by the user as a unique point-pair. Marking may be achieved in any convenient way, including “clicking” a mouse on each point of a point-pair, or dragging point-pair markers, so that the x,y coordinates of the point on the raster map of FIG. 2 and the latitude/longitude coordinates of the point on the vector map of FIG. 6 are captured and recorded.

[0058] When the user has marked at least two point-pairs, the system computes a georeferencing function, based on the x,y pixel coordinates of the points marked on the raster map of FIG. 2 and the corresponding geographic coordinates of the points on the vector map of FIG. 6. Thereafter the geographic coordinates of any point on the raster map of FIG. 2 map may be easily computed. As more point-pairs are identified, the georeferencing function is modified for increased accuracy.

[0059] A digital map image is considered georeferenced if a pair of mathematical functions, f and g have been defined that can be used to convert back and forth between the coordinates of the raster map image of FIG. 2 (as defined by the pixels of the image) and the corresponding longitude and latitude of the location of that point on the vector map of FIG. 6. That is, georeferencing exists if the following are true:

[0060] 1. If (x, y) represents a location on the digital raster map image (FIG. 2), then f(x, y)=(Lon, Lat) represents the longitude and latitude of the corresponding physical location as depicted on the vector map (FIG. 6).

[0061] 2. If (Lon, Lat) represents a physical location that lies within the region covered by the vector map of FIG. 6, then g(Lon, Lat)=(x, y) represents the point on the digital raster map image of FIG. 2 that corresponds to that longitude and latitude.

[0062] Here, x and y represent the natural internal coordinate system of the raster map image. Typically, as described above, the pixels of a digital raster map, as in FIG. 2, constitute a natural internal coordinate system. A vector map, as in FIG. 6, is based on a longitude and latitude coordinate system as its underlying coordinate system. As such, a vector map may be considered to be trivially georeferenced. Therefore, the functions f and g above are non-trivial georeferencing functions required to convert back and forth between the coordinate systems of the maps of FIG. 2 and FIG. 6.

[0063] First, the raster map, FIG. 2, to be georeferenced is displayed on a computer monitor at the same time as a previously georeferenced map, FIG. 6, Step 400 in FIG. 7. Typically, the map of FIG. 6 is a vector map, but could also be another raster map for which georeferencing functions are already known and can be accessed. The maps, FIGS. 2 and 6, are preferably displayed side by side, but may be displayed above/below each other, in superposition or in any other simultaneous or quasi-simultaneous (e.g., toggled) display mode.

[0064] The maps of FIGS. 2 and 6 are preferably initially independently manipulable for rotation, position, pan, zoom and scale. The user is free to manipulate the display of both maps until the displayed region of the map in FIG. 2 is generally shown in the display of the map of FIG. 6.

[0065] Next, pairs of points, or point-pairs, 200-200, 202-202, etc, representing identical geographic locations on the maps of FIGS. 2 and 6 are identified, and the user uses a keyboard, mouse, or other pointing or capturing device to mark these point-pairs. For each point-pair, 200-200, etc., one point is marked on FIG. 2 and the other point is marked at the corresponding location on FIG. 6. The point marked on the raster map, FIG. 2, has specific x,y coordinates. The same point marked on the vector map, FIG. 6, has specific latitude,longitude coordinates. Examples of common georeferencing point-pairs include street intersections, 200-200, 202-202, 204-204 and 206-206, sites 208-208 where a road crosses a river, mountain peaks, specific building locations, the intersection of two rivers, and other readily identifiable map features.

[0066] If any points on the map of FIG. 2 are identified on the map by longitude and latitude—in the case of FEMA flood maps, this is a relatively rare occurrence—a georeferencing point-pair can be obtained by marking that point on FIG. 2 and marking on FIG. 6 at the location having the identical latitude and longitude. Alternatively, once such latitude,longitude-identified points on FIG. 2 are marked, each will be associated with both lat,lon and x,y coordinates, and each can thereafter be used to determine the georeferencing functions without requiring a corresponding mark on FIG. 6

[0067] After a point-pair is marked on FIGS. 2 and 6, the x,y coordinate on FIG. 2 is assigned the corresponding latitude,longitude of its matching point on FIG. 6. When two georeferencing point-pairs are marked, the system computes an initial georeferencing function for FIG. 2 based on a linear transformation that allows an arbitrary rotation and directionally invariant scaling between the x,y domain and the latitude,longitude domain.

[0068] To improve accuracy and allow increased generality, more georeferencing point-pairs will frequently be desired. To facilitate the process of gathering these additional georeferencing point-pairs, the maps of FIGS. 2 and 6 are synchronized. Accordingly, as either map, FIG. 2 or FIG. 6, is zoomed, panned, scrolled, or otherwise caused to display a different region, the other map, FIG. 6 or 2, automatically does the same. This greatly increases the ease with which georeferencing point-pairs can be identified and marked on the maps, because, when the user of the system locates an identifiable feature on one map, the other map will automatically be showing substantially the same location.

[0069] After synchronization is achieved, when the user marks a georeferencing point on one of the maps, the system automatically marks the corresponding point on the other map in accordance with the last-calculated georeferencing function (step 420 ). The user can then make corrections to the location of a point marked by the system in this way (step 425 ). The user may enter as many point-pairs as are desired; each additional point-pair increases the accuracy of the georeferencing process.

[0070] When three or more georeferencing point-pairs are determined, the system computes a georeferencing function for FIG. 2 based on a general linear transformation between the x,y domain and the latitude,longitude domain. When four or more georeferencing point-pairs are determined, the general linear georeferencing function is over-determined. This means that more than the required amount of information to compute the general linear georeferencing functions is available, but that this information may not be completely consistent. The system uses the extra information contained in the additional georeferencing points to provide validation checks to protect against the possibility that some of the data points may be inaccurate. Point-pairs that deviate excessively with respect to a calculated standard error are presumed to be inaccurate and are omitted from the extant calculation of the georeferencing function. As new point-pairs are added, the system rechecks previously omitted points to determine if those previously omitted points should now be considered when recomputing the georeferencing functions.

[0071] The additional point-pairs allow the system to compute the general linear georeferencing functions which best fit the combination of all the available georeferencing point-pairs, so that the active georeferencing functions are revised with each new point-pair. According to preferred embodiments, this is done by using a “least square” parameter fitting operation.

[0072] The user may then proceed to enter the next point-pair. When the user is finished, the system stores the active georeferencing functions with the raster map of FIG. 2. At this time, the raster map is considered fully georeferenced and the related georeferencing functions are stored as is their association with the FIG. 2. When the raster map is later accessed, the system retrieves the relevant georeferencing functions, and applies them to determine the latitude and longitude of any point on the raster map or to determine the x,y coordinates of any point on the vector map of FIG. 6. Thus, at this time, the neatlines of each panel map, the boundary of each panel map inset and the “grid” of neatlines on each index map are, as polygons, fully georeferenced. Any other features or polygons of the raster map that may be described using pixel coordinates (e.g. flood zone boundary polygons) will also be georeferenced

[0073] While various techniques exist for determining a georeferencing function from sets of point-pairs, the specific approach used by the system and method of the present invention is now discussed.

[0074] To carry out the georeferencing process of the present invention, sets of points P, are specified. Let iε P denote one of the points i of P. Associated value x_(i), y_(i) and Lat_(i),Lon_(i) refer, respectively, to the x and y coordinates of the point i on the raster map of FIG. 2, and the latitude and longitude of the same point i on the earth's surface, i.e., on the vector map of FIG. 6. There is also defined a set of points A⊂P, where A is the subset of “active” points, i.e. points which are in extant use in the calculation of the georeferencing functions. A parametric family of functions is selected. It is stipulated that functions in this family map from (x,y) to(Lon,Lat). Any function ƒ

has components ƒ₁(x,y)=Lon, and ƒ₂(x,y)=Lat. From within this family there is sought the specific function {circumflex over (ƒ)}which (in a sense to be defined below) introduces the smallest error in attempting to render the following system of equations true:

{circumflex over (ƒ)}(x _(i) ,y _(i))=(Lon_(i),Lat_(i)) for iεA  (1)

[0075] Once determined, {circumflex over (ƒ)} will function as the georeferencing function which is used to compute corresponding latitude and longitude values (Lon,Lat) on the vector map of FIG. 6 for any point (x,y) on the raster map of FIG. 2. There are a variety of ways to define the function that minimizes error in rendering Equation (1) true. The method of the present invention utilizes a least squares approach, known in mathematics as an L₂ approach. This approach seeks to ascertain the function {circumflex over (ƒ)} which minimizes the sum of the squared differences between the actual and the predicted values of latitude and longitude. In other words, from among all the functions f ƒ

{circumflex over (ƒ)} is the one which minimizes:

SSE=Σ└(ƒ₁(x _(i) ,y _(i))−Lon_(i))²+(ƒ₂(x _(i) ,y _(i))−Lat_(i)) ²┘  (2)

[0076] Alternatively, the function {circumflex over (ƒ)} may be chosen so that the sum of absolute errors, rather than squared errors, is minimized or so that the largest error is minimized. Other criteria are also possible. For example, a weighting factor may be applied to each of the two components of the sum (i.e. the Lat and Lon components).

[0077] In what follows there shall be described methods for computing georeferencing functions based on both a general linear parametric family of functions and a rotational linear family of functions. Those skilled in the art will readily perceive that this approach may be easily generalized to other parametric families of functions. One such other parametric family is a nonlinear parametric family of functions arising from the projection of the earth's surface onto a flat map.

The General Linear Case

[0078] In the general linear case, F is the set of all possible linear transformations which map from (x,y) to(Lon,Lat). Thus, $\begin{matrix} {{\hat{f}\left( {x,y} \right)} = {{\begin{bmatrix} {\hat{a}}_{11} & {\hat{a}}_{12} \\ {\hat{a}}_{21} & {\hat{a}}_{22} \end{bmatrix}\quad\begin{bmatrix} x \\ y \end{bmatrix}} + \begin{bmatrix} {\hat{b}}_{1} \\ {\hat{b}}_{2} \end{bmatrix}}} & (3) \end{matrix}$

[0079] for some choice of parameters {circumflex over (α)}₁₁, {circumflex over (α)}₁₂, {circumflex over (α)}₂₁, â₂₂, {circumflex over (b)}₁, and {circumflex over (b)}₂. If the region covered by the map to be georeferenced is not too large, then this family of functions will contain a suitable function {circumflex over (ƒ)} whose total error, as determined by the least squares methodology, is quite small. In the case where the map to be georeferenced covers an area that is too large, the curvature of the earth must be taken into account and F is not a suitable family of functions. In the latter event, nonlinear functions must be used as mentioned above.

[0080] To find {circumflex over (ƒ)} we seek the parameters which minimize $\begin{matrix} {{S\quad S\quad E} = {{\sum\limits_{i \in A}\left( {{a_{11}x_{i}} + {a_{12}y_{i}} + b_{i} - {L\quad o\quad n_{i}}} \right)^{2}} + {\left( {{a_{21}x_{i}} + {a_{22}y_{i}} + b_{2} - {L\quad a\quad t_{i}}} \right)^{2}.}}} & (4) \end{matrix}$

[0081] The parameter values which minimize this expression are found by solving the following two independent systems of linear equations: $\begin{matrix} {{\begin{bmatrix} n & {\sum\limits_{i \in A}x_{i}} & {\sum\limits_{i \in A}y_{i}} \\ {\sum\limits_{i \in A}x_{i}} & {\sum\limits_{i \in A}x_{i}^{2}} & {\sum\limits_{i \in A}{x_{i}y_{i}}} \\ {\sum\limits_{i \in A}y_{i}} & {\sum\limits_{i \in A}{x_{i}y_{i}}} & {\sum\limits_{i \in A}y_{i}^{2}} \end{bmatrix}\quad\begin{bmatrix} b_{1} \\ a_{11} \\ a_{12} \end{bmatrix}} = \begin{bmatrix} {\sum\limits_{i \in A}{L\quad o\quad n_{i}}} \\ {\sum\limits_{i \in A}{x_{i}L\quad o\quad n_{i}}} \\ {\sum\limits_{i \in A}{y_{i}L\quad o\quad n_{i}}} \end{bmatrix}} & \text{(5a)} \\ {{\begin{bmatrix} n & {\sum\limits_{i \in A}x_{i}} & {\sum\limits_{i \in A}y_{i}} \\ {\sum\limits_{i \in A}x_{i}} & {\sum\limits_{i \in A}x_{i}^{2}} & {\sum\limits_{i \in A}{x_{i}y_{i}}} \\ {\sum\limits_{i \in A}y_{i}} & {\sum\limits_{i \in A}{x_{i}y_{i}}} & {\sum\limits_{i \in A}y_{i}^{2}} \end{bmatrix}\quad\begin{bmatrix} b_{2} \\ a_{21} \\ a_{22} \end{bmatrix}} = \begin{bmatrix} {\sum\limits_{i \in A}{L\quad a\quad t_{i}}} \\ {\sum\limits_{i \in A}{L\quad a\quad t_{i}}} \\ {\sum\limits_{i \in A}{y_{i}L\quad a\quad t_{i}}} \end{bmatrix}} & \text{(5b)} \end{matrix}$

[0082] These systems can be solved by well-known methods, such as Gaussian Elimination or LU factorization. The solutions yield the desired values of {circumflex over (α)}₁₁, {circumflex over (α)}₁₂, {circumflex over (α)}₂₁, {circumflex over (α)}₂₂, {circumflex over (b)}₁, and {circumflex over (b)}₂. It should be noted that equations (5 a) and (5 b) do not have a unique solution unless three or more non-collinear points on the raster map, FIG. 2, are contained in A. Generally speaking, then, it requires the selection of three point-pairs to initiate the calculation of a georeferencing function from the family of general linear transformations. When there are four or more point-pairs, it is possible to compute a standard deviation of errors using the formula: $\begin{matrix} {s = \sqrt{\frac{\sum\limits_{i \in A}\left\lbrack {\left( {{{\hat{a}}_{11}x_{i}} + {{\hat{a}}_{12}y_{i}} + {\hat{b}}_{1} - {L\quad o\quad n_{i}}} \right)^{2} + \left( {{{\hat{a}}_{21}x_{i}} + {a_{22}y\quad e} + {\hat{b}}_{2} - {L\quad a\quad t_{i}}} \right)^{2}} \right\rbrack}{n - 3}}} & (6) \end{matrix}$

[0083] where s is an estimator for the amount of error to be expected between actual and predicted latitude and longitude values.

[0084] The inverse georeferencing function, {circumflex over (ƒ)}⁻¹ that maps from (Lon, Lat) of one point of a point-pair on the vector map of FIG. 6 to (xy) of the other point of the point-pair on the raster map, FIG. 2, may now be readily obtained by inverting the function {circumflex over (ƒ)}. Having done this, it is possible to compute a similar standard deviation of error for {circumflex over (ƒ)}⁻¹ which is an estimate of error as measured in the x,y coordinates of the raster map of FIG. 2.

The Rotational Linear Case:

[0085] In the rotational linear case, F is the set of all possible linear transformations which map from (x,y) to (Lon,Lat) and which also allow for a known scale change caused by the difference in distance per degree of latitude and per degree of longitude at any point not on the equator. Thus $\begin{matrix} {{\hat{f}\left( {x,y} \right)} = {{\begin{bmatrix} \frac{{\hat{\beta}}_{3}}{\gamma} & {- {\hat{\beta}}_{4}} \\ {- {\hat{\beta}}_{4}} & {- {\hat{\beta}}_{3}} \end{bmatrix}\quad\left\lbrack \frac{x}{y} \right\rbrack} + \begin{bmatrix} \frac{{\hat{\beta}}_{1}}{\gamma} \\ \beta_{2} \end{bmatrix}}} & (7) \end{matrix}$

[0086] for some choice of parameters {circumflex over (β)}₁, {circumflex over (β)}₂, {circumflex over (β)}₃, and {circumflex over (β)}₄, where γ=cos(Lat) is computed from the estimated latitude of the map to be georeferenced. Clearly, this is a special case of the more general linear transform described above, where

α₁₁=β₃|γ,α₁₂=−β₄,α₂₁=−β₄,

[0087] and

α₂₂=−β₃ ,b ₁=β₁ |γ, b ₂=β₂.

[0088] In theory, if the region covered by the raster map of FIG. 2 to be georeferenced is not too large, then this family of functions will contain a suitable function, {circumflex over (ƒ)} whose total error is quite small. In the case where the map to be georeferenced covers a larger area than this, the curvature of the earth must be taken into account and F is not a suitable family of functions. In such a case, nonlinear functions must be used, as noted earlier. In practice, the general linear. transform will yield results which are somewhat superior to the rotational linear transform due to the former's innate ability to use arbitrary scaling factors. These arbitrary scaling factors might compensate, for example, for scaling flaws in the digital scanner used to scan in the non-georeferenced paper maps to produce maps like that of FIG. 2. The primary advantage of the rotational linear transform is that it can be computed with only two reference point-pairs, while the general linear transform requires three reference point-pairs.

[0089] To find {circumflex over (ƒ)} there is sought, as before, the parameters which minimize SSE as defined in equation (4).

[0090] The parameter values which minimize this expression are found by solving the following system of linear equations: $\begin{matrix} {{\begin{bmatrix} n & 0 & {\sum x_{i}} & {- {\sum y_{i}}} \\ 0 & n & {- {\sum y_{i}}} & {- {\sum x_{i}}} \\ {\sum\limits_{i \in A}x_{i}} & {- {\sum\limits_{i \in A}y_{i}}} & {\sum\limits_{i \in A}\left( {x_{i}^{2} + y_{i}^{2}} \right)} & 0 \\ {- {\sum\limits_{i \in A}y_{i}}} & {- {\sum\limits_{i \in A}x_{i}}} & 0 & {\sum\limits_{i \in A}\left( {x_{i}^{2} + y_{i}^{2}} \right)} \end{bmatrix}\quad\left\lbrack \quad \begin{matrix} \beta_{1} \\ \beta_{2} \\ \beta_{3} \\ \beta_{4} \end{matrix} \right\rbrack} = \begin{bmatrix} {\gamma {\sum\limits_{i \in A}{L\quad o\quad n_{i}}}} \\ {\sum\limits_{i \in A}{L\quad a\quad t_{i}}} \\ {{\gamma {\sum\limits_{i \in A}{x_{i}L\quad o\quad n_{i}}}} - {\sum\limits_{i \in A}{y_{i}L\quad a\quad t_{i}}}} \\ {{{- \gamma}{\sum\limits_{i \in A}{y_{i}L\quad o\quad n_{i}}}} - {\sum\limits_{i \in A}{x_{i}L\quad a\quad t_{i}}}} \end{bmatrix}} & (8) \end{matrix}$

[0091] These systems can easily solved by well known methods, such as Gaussian Elimination, or LU factorization. The solutions yield the desire values of {circumflex over (β)}₁, {circumflex over (β)}₁, {circumflex over (β)}₁, and {circumflex over (β)}₁, which in turn yield the desired values for {circumflex over (α)}₁₁, {circumflex over (α)}₁₂, {circumflex over (α)}₂₁, {circumflex over (α)}₂₂, {circumflex over (b)}₁, and {circumflex over (b)}₂.

[0092] It should be noted that equation (8) does not have a unique solution unless two or more points are contained in A. Generally speaking, it requires two points to determine a georeferencing function from the family of rotational linear transformations. When there are three points or more, it is possible to compute a standard deviation of error, s using the formula: $\begin{matrix} {{s = \sqrt{\frac{\sum\limits_{i \in A}\left\lbrack {\left( {{{\hat{a}}_{11}x_{i}} + {{\hat{a}}_{12}y_{i}} + {\hat{b}}_{1} - {L\quad o\quad n_{i}}} \right)^{2} + \left( {{{\hat{a}}_{21}x_{i}} + {{\hat{a}}_{22}y_{i}} + {\hat{b}}_{2} - {L\quad a\quad t_{i}}} \right)^{2}} \right\rbrack}{n - 2}}},} & (9) \end{matrix}$

[0093] where s is an estimator for the amount of error to be expected between actual and predicted latitude and longitude values.

[0094] The inverse georeferencing function {circumflex over (ƒ)}⁻¹ that maps from (Lon, Lat) to (x,y) is readily obtained by inverting the function {circumflex over (ƒ)}. Having done this, it is possible to compute a similar standard deviation of error for {circumflex over (ƒ)}⁻¹ which is an estimate of error as measured in the bitmap coordinates.

Automatic Error Detection and Handling

[0095] When point-pairs are selected, the apparent values of x,y and Lon,Lat which are selected by mouse “clicking” may include error. To reduce the risk of incorrect georeferencing resulting from such errors, certain error handling procedures are built into the georeferencing process of the present invention. One technique utilized by the present invention is to detect a “bad” point-pair and then remove it from the set A of “active” point-pairs, that is, those point-pairs presently involved in the calculation of a georeferencing function. Removing a bad point-pair from A does not delete the information associated with that point-pair. Rather, removing the bad point-pair causes the extant calculation of the georeferencing parameters to be uninfluenced by that point-pair. The point-pair is not removed entirely, because it may be determined at a later stage of the georeferencing, that the point-pair was not really bad, and should be-used in the georeferencing calculation. This will be clarified shortly.

[0096] The following steps outline the bad point detection process using the general linear transform approach to georeferencing.

[0097] (1) Place all point-pairs so far selected into the active set A. An “active” point-pair comprises a pair of points which are presently being used in the extant georeferencing calculation.

[0098] (2) If there are four or less active point-pairs, error correction cannot be performed and the georeferencing function cannot be refined.

[0099] (3) If there are five or more active point-pairs, temporarily exclude each of them in turn from the active set A, designating a temporarily excluded point-pair as k With each point k excluded in turn, the calculate the inverse georeferencing function ĝ^((k)) using the non-k point pairs. Calculate SSE_(k) for ĝ^((k)).

[0100] (4) Calculate the difference between the predicted value and the actual value δ_(k)=|ĝ^((k))Lon_(k),Lat_(k))−(x_(k),y_(k))|.

[0101] (5) Save the values, δ_(k) and δ_(k)/SSE_(k).

[0102] (6) Return point k to the active set (and move on to the next value of k).

[0103] (7) From among the results found in steps (3)-(6) find the point, k with the largest value of

SSE_(k) which also satisfies

SSE_(k) k>c₁ and δ_(k)>c₂ where c₁, and c₂ are constants which are set according to the general level of accuracy to be expected on the particular type of map which is being georeferenced, the current number of active point-pairs, and the dots or pixels per inch of the raster image. If such a value, k, is found then, the corresponding point is designated as erroneous and is removed from the active set A, and return to steps (2) and (3) above. If there is no such point, error detection is completed.

[0104] The foregoing error detection may be, of course, carried out on a general-purpose computer, preferably the same computer included in the system for manipulating the various maps and for calculating the georeferencing functions.

[0105] There are several things to note about the foregoing error detection procedure. One is that allowing the value of c₁ and c₂ to change with the number of active point-pairs, makes it possible for the georeferencing system and method to utilize point-pairs which might originally have been determined to be erroneous or inconsistent, after a large enough sample of points has been gathered to make it clear that a lesser level of accuracy is all that can be achieved on this map. Use of the error detection procedure of the present invention cannot reduce the number of active point-pairs to less than four. This scheme means that as each new point is added, all points determined so far are considered, even those which had previously been marked bad. Thus early “misjudgments” on the part of the system can be corrected later, in light of new point information.

[0106] The same bad point detection process, can also be implemented when the rotational linear transform is used. In this case the method is capable of reducing the number of active point-pairs to a minimum of three, rather than four for the general linear transform approach outlined above. This can be useful when dealing with small sets of active points.

[0107] When the system is georeferencing raster map images that cover a large enough area so that the (nonlinear) curvature of the earth is a source of significant error, the system can calculate nonlinear georeferencing functions whose form corresponds to the map projection that was used to create the map of FIG. 2.

[0108] Once both maps are georeferenced, coordinated manipulation of the maps, simultaneously displayed, may be effected. Because of the georeferencing any point of either map can be referenced using the geographic coordinates. Accordingly the maps may be manipulated in a synchronized manner by defining the manipulations in terms of the geographic coordinate system and using the georeferencing functions to translate the manipulation to each map's coordinate system.

[0109] The preferred embodiment may be applied to any system which simultaneously displays multiple map images, but is particularly valuable for systems displaying a raster map image and a vector map image.

[0110] Map image synchronization is a method whereby two map images can be made to show the same geographic region at all times, maintaining this synchronization even after one of the images is panned, zoomed, scrolled, or otherwise caused to display a different region. Whenever such a change occurs on one map, the system causes the same change to occur on the other map as well. In this way, the two images continue to display the same region, without the need of manually adjusting both maps. In addition the synchronization system allows annotations to be placed on either map at specified geographic locations, and causes a matching annotation to appear on the other map in the corresponding location.

[0111] The two maps in question may be any combination of digital raster and vector maps, as long as georeferencing information is available for both maps. According to the preferred embodiment, one map is a digital raster map, and the other map is a vector map, both maps covering the same geographic area. Multiple configurations of the map display are possible. These include:

[0112] 1. Both maps are displayed side by side, or one above the other on the computer display.

[0113] 2. One map is superimposed directly on top of the other.

[0114] a. The background of the top map is transparent, so that the user can see features of both the top map and the bottom map, or

[0115] b. Both maps are opaque, but a user may toggle back and forth rapidly between the two images

[0116] The process of the preferred embodiment, as shown in the flowcharts of FIGS. 4 and 5, operates in the following way:

[0117] In FIG. 7, the data processing system first loads and displays two maps, FIG. 2 and FIG. 6, according to a user selection (step 400). For purposes of this example, assume that FIG. 2 is a digital raster map, and FIG. 6 is a vector map showing substantially the same region. It should be noted that the maps displayed are not required to cover identical geographic regions, as long as they share some geographic area in common. Both maps have been previously georeferenced. In an alternate embodiment, the system will allow the user to georeference one or both maps, if required, according to the '849 application and the CIP based thereon.

[0118] Next, an initial geographic region, which is present on both maps, is selected on FIG. 2 and displayed by the system (step 405). Since FIG. 2 has been georeferenced, the boundaries of the selected region are determined, using FIG. 2's set of georeferencing functions, in terms of longitude and latitude (step 410).

[0119] The system then converts these boundaries, using the georeferencing function set of FIG. 6, between the latitude/longitude boundaries of the display region and the internal coordinate system of FIG. 6 (step 415). Next, the system displays the same region of FIG. 6 (step 420), according to the same geographic boundaries.

[0120] Thereafter, as the user interacts with the system by causing one of the maps, FIG. 2 in this example, to display a different geographic region or view (step 425), the system performs the following steps. Note that this manipulation by the user can include any change in the map view, including but not limited to scrolling, zooming, rotating, or changing the view perspective of the map, and that the user can be performing the manipulation on either map.

[0121] The system first determines the boundaries of the newly displayed region of FIG. 2 in the natural coordinate system of FIG. 2 (step 430). Next, the system uses the georeferencing function set of FIG. 2 to convert the boundaries to be in terms of longitude and latitude (step 435).

[0122] The system then uses the georeferencing functions of FIG. 6 to determine the boundaries of the new region in terms of the natural coordinate system of FIG. 6 (step 440). The system then performs the appropriate image scaling and manipulation functions, known to those of skill in the art, to redraw FIG. 6 with the same boundaries, and according to the same changes in scale and perspective, as FIG. 2 (step 445). The user may then stop the manipulation and view the maps, continue to manipulate the maps, or annotate the map (step 450). Note that the steps above are performed rapidly enough, in the preferred embodiment, that it appears that the user is manipulating both maps in synchronicity.

[0123]FIG. 8 shows a flowchart of a map annotation process in accordance with the preferred embodiment. When the user places an annotation on one of the maps (step 500), FIG. 2 in this example, then the system performs the following steps. First, the system determines the location of the new annotation of FIG. 2 in the natural coordinate system of FIG. 2 (step 505). Next, the system uses the georeferencing function set of FIG. 2 to convert the annotation location to longitude and latitude (step 510). The system then uses the georeferencing function set of FIG. 6 to express the annotation location to be in terms of the internal coordinate system of FIG. 6 (step 520). Finally, the system displays the new annotation on FIG. 6, in the location corresponding to the annotation on FIG. 2 (step 525). The user may then stop his manipulation and view the maps, continue to manipulate the maps, or annotate the map (step 530). Again, the steps above are performed rapidly enough, in the preferred embodiment, that it appears that the user is annotating both maps in synchronicity.

[0124] Common changes, that might occur to change the region displayed include the user panning, zooming, or scrolling one of the images. Annotations may be used to designate points of particular interest on the maps.

[0125] Certain minor adjustments are required in the display if a region is selected which is not entirely present on one or more of the maps, or if the aspect ratios of the screen display areas devoted to each map are different. In the first case, the system attempts a “best fit” when one map selection included area not found in the other map, and simply displays blank additional area to fill the missing region, so that the map windows be filled and the synchronization of the images maintained. In the second case, the other map can be scaled to reflect the same area, or alternatively one or more of the map windows may be equipped with scroll bars, so that the effective dimensions of the map windows become identical.

[0126] A specific example, which illustrates the utility of map synchronization, arises from the “Flood Zone Determination” business, The Federal Emergency Management Agency (FEMA). FEMA publishes a library of tens of thousands of paper maps showing various types of flood zones and their locations in the United States. When performing a flood zone certification, a map analyst must locate a property on a flood map and determine the type of flood zone that the property is contained in. Unfortunately, these FEMA maps frequently display only a subset of geographic landmarks (such as streets). This often forces a map analyst to refer to a separate street map to find the property, and, once found, to determine the corresponding location on the flood map. Map synchronization greatly facilitates this process. For example, with both the flood map and the street map displayed side by side, the map analyst might [Do we want the font change below?]

[0127] 1. Locate the property on the street map, including performing whatever map manipulations are necessary to show the required area, having the flood map be manipulated by the system to reflect that same area;

[0128] 2. Place an annotation on the street map at the location of the property wherein the system places an identical annotation at the corresponding point on the flood map; and

[0129] 3. Observe the location of the synchronously placed annotation on the flood map, and make the required flood zone determination.

[0130] In this way, the map synchronization system has reduced the difficulty and time involved in making this determination by a great margin.

[0131] It is important to note that while the present invention has been described in the context of a fully functional data processing system and/or network, those skilled in the art will appreciate that the mechanism of the present invention is capable of being distributed in the form of a computer usable medium of instructions in a variety of forms, and that the present invention applies equally regardless of the particular type of signal bearing medium used to actually carry out the distribution. Examples of computer usable mediums include: nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), recordable type mediums such as floppy disks, hard disk drives and CD-ROMs, and transmission type mediums such as digital and analog communication links.

[0132] While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention. 

What is claimed is:
 1. A computer-implemented method of manipulating map images, each of which has a natural, internal coordinate system and is georeferenced by a georeferencing function, relative to geographic coordinates, comprising: (a) simultaneously displaying each map image in its respective internal coordinate system (b) altering a first of the map images; (c) determining the geographic coordinates of the alteration to the first map image by applying thereto its georeferencing function if the alteration's coordinates are not already in geographic format; and (d) altering the other map images so that their displays contain the same alteration as the first map image at the same geographic coordinates as the first map image's alteration by applying to the other map images their respective georeferencing function if they are not already in geographic format.
 2. The method of claim 1, wherein: the altered first map image display and the altered other map image displays cover the same geographic area.
 3. The method of claim 1, wherein: the altered first map image display and one or more of the other map image displays cover some but not all of the same geographic area, and step (c) is effected by determining the geographic coordinates of as much of the alteration of the first map image as can be included on each of the one or more other map images.
 4. A method as in claim 1, wherein: the alteration of the first map image comprises moving the first map image, and the alteration of the other map images comprises movement thereof in the same sense and amount as the movement of the first map image.
 5. A method as in claim 4, wherein: the movement is panning, scrolling up or down, scrolling left or right, scrolling diagonally, rotating, zooming in or zooming out.
 6. A method as in claim 1, wherein: the alteration of the first map image comprises adding or deleting an artifact to or from the first map image.
 7. A method as in claim 6, wherein: the artifact is an alphanumeric legend, a symbol, a line or a polygon.
 8. A computer system for manipulating map images, each of which has a natural, internal coordinate system and is georeferenced by a georeferencing function relative to geographic coordinates, comprising: (a) monitor facilities for simultaneously displaying each map image in its respective internal coordinate system; (b) mouse/keyboard facilities for altering a first of the map images; (c) first facilities for determining the geographic coordinates of the alteration to the first map image by applying thereto its georeferencing function if the alteration's coordinates are not already in geographic format; and (d) second facilities for altering the other map images so that their displays contain the same alteration as the first map image at the same geographic coordinates as the first map image's alteration by applying to the other map images their respective georeferencing function if they are not already in geographic format.
 9. The system of claim 8, wherein: the altered first map image display and the altered other map image displays cover the same geographic area.
 10. The system of claim 8, wherein: the altered first map image display and one or more of the other map image displays cover some but not all of the same geographic area, and the first facilities determine the geographic coordinates of as much of the alteration of the first map image as can be included on each of the one or more other map images.
 11. A system as in claim 8, wherein: the alteration of the first map image comprises moving the first map image, and the alteration of the other map images comprises movement thereof in the same sense and amount as the movement of the first map image.
 12. A system as in claim 11, wherein: the movement is panning, scrolling up or down, scrolling left or right, scrolling diagonally, rotating, zooming in or zooming out.
 13. A system as in claim 8, wherein: the alteration of the first map image comprises adding or deleting an artifact to or from the first map image.
 14. A system as in claim 13, wherein: the artifact is an alphanumeric legend, a symbol, a line or a polygon.
 15. An item of commerce, comprising: a memory medium containing computer instructions for effecting the method of claim
 1. 16. An item of commerce as in claim 15, which further comprises: the map images stored on the medium. 